/*
 *  Copyright (C) 2011 JiangHongTiao <jjurco.sk_gmail.com>
 * 
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 * 
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 * 
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package sk.lieskove.jianghongtiao.websearch.api.google.search;

import sk.lieskove.jianghongtiao.websearch.service.searchengine.SearchResult;

/**
 *
 * @author xjuraj
 */
public interface GWSResult extends SearchResult{
    
    /**
     * get google search result class
     * may be one of: 
     * <ul>
     *   <li>GwebResult</li>
     *   <li>GlocalResult</li>
     *   <li>GvideoResult</li>
     *   <li>GblogResult</li>
     *   <li>GnewsResult</li>
     *   <li>GbookResult</li>
     *   <li>GimageResult</li>
     *   <li>GpatentResult</li>
     * </ul>
     * @return google search result class 
     */
    public String getGsearchResultClass();

    /**
     * get short content of page with found text
     * @return html content of page with found text
     */
    public String getContent();

    /**
     * get title of found page
     * @return title of web page
     */
    public String getTitle();

    /**
     * get google archive URL
     * @return google archive URL
     */
    public String getCacheUrl();

    /**
     * get unescaped URL
     * @return unescaped URL of found page
     */
    public String getUnescapedUrl();

    /**
     * get visible (short) URL of source
     * @return visible (short) URL of source
     */
    public String getVisibleUrl();

    /**
     * set position of result in search
     * @param position new position of result
     */
    public void setResultPosition(int position);

    
}
